package com.ctshk.rpc.order.season.req;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.Value;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * @author 杨林
 * @version 1.0
 * @date 2021/3/29 19:15
 */
@Data
@ApiModel(value = "SeasonOrderTouristDataReq对象", description = "旅客信息req")
public class SeasonOrderTouristDataReq implements Serializable {

    @ApiModelProperty(value = "表id")
    private Long id;

    @ApiModelProperty(value = "填写旅客唯一标识,填写保险时,被保用户时传入,前端生成,不存入数据库", required = true)
    private String touristFlag;

    @ApiModelProperty(value = "所属订单")
    private Long orderId;

    @ApiModelProperty(value = "大客户ID")
    private Long bigClientId;

    @ApiModelProperty(value = "大客户名称")
    private String bigClientName;

    @ApiModelProperty(value = "旅客姓")
    @NotNull(message = "旅客姓 不能为空")
    private String surname;

    @ApiModelProperty(value = "旅客名")
    @NotNull(message = "旅客名 不能为空")
    private String name;

    @ApiModelProperty(value = "旅客姓名")
    @NotNull(message = "旅客姓名不能为空")
    private String touristName;

    @ApiModelProperty(value = "旅客凭证(附件)")
    @NotNull(message = "旅客凭证不能为空")
    private String touristCertificateJson;


    @ApiModelProperty(value = "旅客凭证类型")
    @NotNull(message = "旅客凭证类型不能为空")
    private String touristType;

    @ApiModelProperty(value = "性别")
    @NotNull(message = "性别不能为空")
    private Integer gender;

    @ApiModelProperty(value = "出生日期")
    @NotNull(message = "出生日期不能为空")
    private LocalDate birthday;

    @ApiModelProperty(value = "证件有效期至")
    @NotNull(message = "证件有效期不能为空")
    private LocalDate vaildsDate;

    @ApiModelProperty(value = "证件号码")
    @NotNull(message = "证件号码不能为空")
    private String certificatesNumber;

    @ApiModelProperty(value = "证件类型")
    @NotNull(message = "证件类型不能为空")
    private String certificatesType;

    @ApiModelProperty(value = "证件类型ID")
    @NotNull(message = "证件类型ID不能为空")
    private Long certificatesTypeId;

    @ApiModelProperty(value = "联系人手机区号id")
    private Long contactMobileAreaCodeId;

    @ApiModelProperty(value = "联系人手机区号")
    private String contactMobileAreaCode;

    @ApiModelProperty(value = "联系人手机")
    private String contactMobile;

    @ApiModelProperty(value = "称谓(1:先生;2:女士;3:小姐;4:男童;5:女童)")
    private Integer appellation;

    @ApiModelProperty(value = "会员号")
    private String vipNumber;

    @ApiModelProperty(value = "备注")
    private String remark;
}